package etnorservice.etnor_service.request;/**
 * Created with IntelliJ IDEA.
 * @Author: cc
 * @Date: 2024/11/25/12:53
 **/

import lombok.Data;
import java.util.Date;

@Data
public class ApiSearchParams {

    /**
     * 接口名称
     */
    private String apiName;

    /**
     * 接口ID
     */
    private String apiId;

    /**
     * 创建者
     */
    private String creator;

    /**
     * 状态 (-2:待审核, -3:已驳回, 1:已通过)
     */
    private String status;

    /**
     * 开始时间
     */
    private Date startTime;

    /**
     * 结束时间
     */
    private Date endTime;

    /**
     * 当前页码
     */
    private Integer currentPage = 1;

    /**
     * 每页数量
     */
    private Integer pageSize = 10;

    /**
     * 获取分页起始位置
     */
    public Integer getOffset() {
        return (currentPage - 1) * pageSize;
    }

    /**
     * 参数校验和预处理
     */
    public void validate() {
        // 设置默认值
        if (currentPage == null || currentPage < 1) {
            currentPage = 1;
        }
        if (pageSize == null || pageSize < 1) {
            pageSize = 10;
        }

        // 限制每页最大条数
        if (pageSize > 100) {
            pageSize = 100;
        }

        // 处理可能的空字符串
        if ("".equals(apiName)) {
            apiName = null;
        }
        if ("".equals(apiId)) {
            apiId = null;
        }
        if ("".equals(creator)) {
            creator = null;
        }
        if ("".equals(status)) {
            status = null;
        }
    }
}
